home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Franz PD / Franz PD Disk #324 (1994-04)(Rhein-Sieg-Soft).zip / Franz PD Disk #324 (1994-04)(Rhein-Sieg-Soft).adf / VideoText3.5 / LiesMich < prev    next >
Text File  |  1994-04-01  |  36KB  |  770 lines

  1. LiesMich-Datei zum Programm VIDEOTEXT V3.5                 Stand: 31.03.94
  2.  
  3.  
  4.  
  5. INHALT
  6.  
  7. 1. Allgemeines/Hardwareanforderungen
  8. 2. Leistungsmerkmale
  9. 3. Installation
  10. 4. Erste Inbetriebnahme
  11. 5. Bedienung
  12. 6. Argumente beim Programmstart
  13. 7. Dienstprogramm VTview
  14. 8. Was Sie für mich tun können
  15.  
  16.  
  17.  
  18. WARNUNG
  19. -------
  20.  
  21. "VIDEOTEXT" KANN AUSGABEDATEIEN ERZEUGEN, ÜBERSCHREIBEN, UND TEXT AN
  22. BESTEHENDE DATEIEN ANHÄNGEN. DER DABEI VERWENDETE DATEINAME IST STÄNDIG
  23. SICHTBAR IM PROGRAMMFENSTER ANGEZEIGT. FÜR DENNOCH AUS DATEIOPERATIONEN
  24. ENTSTEHENDE SCHÄDEN KANN ICH KEINE VERANTWORTUNG ÜBERNEHMEN.
  25.  
  26. EBENSO MUß ICH JEDE VERANTWORTUNG FÜR SCHÄDEN DURCH PROGRAMMABSTURZ
  27. ABLEHNEN UND KANN LEDIGLICH VERSICHERN, DASS ICH SELBST DAS PROGRAMM
  28. TÄGLICH BENUTZE, UND DASS VON DEN BISLANG AUFGETRETENEN FEHLERN ALLE
  29. SCHWEREN FEHLER (D. H. SOLCHE IN ZUSAMMENHANG MIT ZEIGERN) IN DER
  30. VORLIEGENDEN PROGRAMMVERSION BESEITIGT SIND.
  31.  
  32.  
  33.  
  34. 1. Allgemeines/Hardwareanforderungen
  35. ====================================
  36.  
  37. Das Programm VIDEOTEXT steuert einen Philips Videotext-Decoder SAA 5246 an,
  38. um Videotext-Seiten in den Amiga einzulesen, zu betrachten und ggf. in
  39. Dateien abzuspeichern. Die vorausgesetzte Hardware entspricht dem Projekt
  40. aus der C'T 3/92 (& 2/92, 11/91) und umfaßt im einzelnen:
  41.  
  42.  - I²C-Bus Interface am RS232-Port des Amiga (Beschreibung siehe
  43.    Hardware.doc)
  44.  
  45.  - Decoderbaustein SAA 5246 nebst Beschaltung, mit den Schnittstellen
  46.    I²C-Bus und FBAS-Bildsignal-Eingang (in Hardware.doc *nicht* beschrieben,
  47.    da relativ aufwendig, nur Literaturhinweise)
  48.  
  49.  - eine FBAS- (oder BAS-) Signalquelle, i. a. ein Fernseher oder Satelliten-
  50.    receiver mit SCART-Ausgang (hat man oder hat man nicht, extra neu
  51.    anschaffen lohnt wohl kaum :-)
  52.  
  53. Ganz deutlich gesagt: Ich setze eigentlich voraus, daß Sie diese Hardware
  54. (mit Ausnahme vielleicht des I²C-Bus Interfaces) bereits besitzen, und ich
  55. kann insbesondere Anfängern nicht ernsthaft empfehlen, sie anhand meiner
  56. Dokumentation aufzubauen zu versuchen.
  57.  
  58.  
  59.  
  60. 2. Leistungsmerkmale
  61. ====================
  62.  
  63.  
  64. 2.1 Was kann Standard-Videotext?
  65. --------------------------------
  66.  
  67. Videotext an sich ist bereits eine faszinierende Informationsquelle. Um
  68. ARD/ZDF zu zitieren:
  69.  
  70.       "Auf rund 400 Tafeln können Sie sich während der gesamten Sendezeit
  71.     [...] über das weltweite Geschehen informieren. Videotext informiert
  72.     Sie über das Neueste aus Bonn, Moskau oder Washington, den Kulturskandal,
  73.     den Leichtathletik-Rekord oder das Tor in der Fußball-Bundesliga. Auch
  74.     Zwischenstände der Aktienkurse und die Wettervorhersage finden Sie im
  75.     Programm."
  76.  
  77. Große Schwäche ist aber die Decoder-Hardware beim Fernsehzuschauer, die
  78. mit typischerweise nur 8 Seitenspeichern eine echte Cache-Funktion nicht
  79. wahrnehmen kann. Sie zwingt den Benutzer viel zu häufig, Seiteninhalte
  80. zu überschreiben, auf die er eigentlich noch nicht verzichten möchte, und
  81. die Möglichkeit, alte Seiten erst während des Wartens auf neu angeforderte
  82. zu lesen, ist auch ziemlich eingeschränkt. Und als ganz grotesk habe ich
  83. immer die seltsame Institution der "Unterseiten" empfunden, die dem
  84. Benutzer im Minutentakt neue Seiteninhalte vorsetzt bzw. ihn 2 bis 5 Minuten
  85. (je nach Unterseitenanzahl) auf einen bestimmten Seiteninhalt warten läßt.
  86.  
  87. Ganz interessant sind die Lösungsansätze der Industrie: Decoder mit Speicher
  88. für 512 statt 8 Seiten, und, bereits am Markt durchgesetzt, TOP-Videotext
  89. (Table Of Pages). Letzteren habe ich leider noch nie in Aktion gesehen,
  90. soweit ich verstanden habe, geht es aber darum, ein Inhaltsverzeichnis im
  91. Dekoder zu erstellen, das den Zugriff auf die diversen Indexseiten ersparen
  92. soll.
  93.  
  94.  
  95. 2.1 Was kann mein Programm?
  96. ---------------------------
  97.  
  98. Die oben genannten Nachteile von Videotext lassen sich mehr oder weniger
  99. überwinden, wenn ein Computer (z. B. ein Amiga :-) die Kontrolle über den
  100. VT-Decoderchip erhält: mehr Speicher für Seiten, bessere Bediensoftware,
  101. zusätzlich die Möglichkeit, Seiteninhalte zu sichern, auszudrucken und
  102. weiter zu bearbeiten. (Statt vielen Zeitungsausschnitten eine große ASCII-
  103. Datei mit den interessantesten Meldungen des Jahres?) Nun zur Sache, was
  104. hat mein VIDEOTEXT-Programm zu bieten:
  105.  
  106.  - beliebig viele Seiten einlesbar (dynamisch verwaltete verkettete Liste)
  107.  - gleichzeitige Suche nach bis zu vier Seitennummern, wobei zu keinem
  108.    Zeitpunkt übrige Bedienfunktionen blockiert werden
  109.  - Warteschlange für bis zu 15 angeforderte Seitennummern
  110.  - Konfigurationsdatei, die jedem Sender bis zu 19 wichtige, häufig
  111.    gebrauchte Seitennummern zuordnet
  112.  
  113.  - unterstützt alle 8 Farben, VT-Grafikzeichen sowie verdeckte und
  114.    doppelthohe Schrift
  115.  - Speichern als ASCII-Text, IFF-Bild oder VT-Code, letzterer kann vom
  116.    Dienstprogramm "VTview" gelesen angezeigt werden
  117.  - VT-Untertitel können in einer Protokolldatei gesammelt werden
  118.  
  119.  - Testmodus: Bus-Status, FBAS- und VT-Signalqualität, laufende VT-Uhr
  120.  - Übersicht über alle ausgestrahlten VT-Seiten möglich
  121.  
  122.  - Einlesen einer Seite in ca. 0.2 sec
  123.  - Bildschirmausgabe: ca. 1 Seite/sec, auf Kosten unvollständigen
  124.    Seitenaufbaus auch beliebig schnelleres Durchblättern möglich
  125.  
  126.  - vollständig tastaturgesteuert (außer dem Filerequester der req.library)
  127.  - läuft unter 1.3 und 2.0
  128.  - keine 2.0-Features, aber immerhin Unterstützung von CLI- und Workbench-
  129.    Startargumenten
  130.  
  131.  
  132.  
  133. 3. Installation
  134. ===============
  135.  
  136. VIDEOTEXT benötigt
  137.  
  138.  - einen eigenen Font: "videotext/9" in FONTS:
  139.  - dementsprechend auch die "diskfont.library" in LIBS:
  140.  - die "req.library" in LIBS:
  141.  
  142. Keine dieser drei sind unbedingte Vorraussetzung dafür, daß das Programm
  143. startet. Ohne den eigenen Font liefert es aber recht jämmerliche Ergebnisse.
  144. Dafür ist die mitgelieferte Skriptdatei "AssignFonts" gedacht, sie verlegt
  145. halt FONTS: in das VideoText-Verzeichnis UND, bei nochmaliger Ausführung,
  146. nach SYS:Fonts/ zurück (jaha!). Das andere Skript, "Install", installiert
  147. den Font in FONTS: und die "req.library" in LIBS:.
  148.  
  149. Darüber hinaus unterstützt VideoText eine Sender/Seiten-Konfigurationsdatei
  150.  
  151.  - "VT.config" in S: oder im aktuellen Verzeichnis
  152.  
  153. die Sie vermutlich noch selbst erweitern und abändern wollen (in Abschnitt
  154. 5.4 beschrieben).
  155.  
  156.  
  157.  
  158. 4. Erste Inbetriebnahme
  159. =======================
  160.  
  161. Wenn die Hardware richtig angeschlossen ist und der Font und die Libraries
  162. installiert sind, doppelklicken Sie einfach auf das Programm-Icon, und es
  163. müßte folgendes passieren:
  164.  
  165. 1. Das Programm öffnet seinen Screen und baut ein paar leere Textfelder auf,
  166.    unter "Jobs:" wird die Seitennummer 100 eingetragen und rückt gleich
  167.    darauf ins Feld "Seitensuche:" auf
  168. 2. nach einer Weile (<< 1 Minute) müßte Seite 100 eintreffen und am
  169.    Bildschirm angezeigt werden
  170.  
  171. Wenn das Programm überhaupt nicht starten sollte, deutet das auf ein ziemlich
  172. grundsätzliches Problem hin, z. B. zu wenig Speicher. Versuchen Sie in diesem
  173. Fall, das Programm vom CLI aus zu starten. Entweder es funktioniert jetzt
  174. (unwahrscheinlich, wenn es von der Workbench aus nicht geklappt hat), ODER
  175. Sie erhalten jetzt wenigstens eine Fehlermeldung vom KICK-Pascal
  176. Laufzeitsystem. Fehlerhafte Installation von Font oder Libraries kann
  177. übrigens nicht die Ursache eines solchen Totalausfalls sein: das Fehlen von
  178. "videotext/9" oder der "diskfont.library" wird lediglich mit einem Alert
  179. gemeldet, eine fehlende "req.library" sogar stillschweigend übergangen.
  180.  
  181. Startet das Programm, aber es treffen auch nach einigem Warten keine Seiten
  182. ein, so drücken Sie einmal "t", um den Testmodus zu aktivieren. Der Text im
  183. Statusfeld oben in der Mitte des Schirms müßte jetzt weiß aufleuchten, und
  184. in 5 Schriftfeldern sollten Statusinformationen erscheinen:
  185.  
  186. Bus: Steht hier "OK", so bedeutet das, daß die Kommunikation mit dem
  187.     Videotext-Decoder einwandfrei funktioniert. Sie können sich sofort
  188.     den Meldungen in den übrigen Statusfeldern zuwenden.
  189.     "Tot" bedeutet dagegen, daß der Decoder nicht einmal auf seine Adresse
  190.     antwortet. Überprüfen Sie in diesem Fall alle Steckverbindungen (aber
  191.     bevor Sie ggf. etwas ändern, erst den Rechner ausschalten!), und machen
  192.     Sie sich schon einmal mit dem Gedanken vertraut, daß irgendwo in ihrer
  193.     Hardware ein Schaltungsfehler stecken könnte. Eine andere Erklärung
  194.     wäre noch, daß sie einen beschleunigten Amiga besitzen, (z. B. A1200,
  195.     A3000, A4000 oder entsprechende 680x0-Turbokarte), so daß der Bus zu
  196.     schnell läuft. Sie müssen die Busroutine dann über das Programmstart-
  197.     Argument BUSDELAY entsprechend Ihrer Rechenleistung bremsen. Lesen Sie
  198.     dazu Abschnitt 6.
  199.     Wenn im Schriftfeld schließlich "NAK" steht (gesendete Datenbytes wurden
  200.     nicht quittiert), oder die Anzeige zwischen verschiedenen Texten hin-
  201.     und herflackert, so ist das ein ziemlich sicheres Zeichen für zu hohe
  202.     Busfrequenz - oder für ein EMV-Problem. Haben Sie mich vielleicht zu
  203.     wörtlich genommen und einen Bus aus 50 m Klingeldraht gelegt? Das wäre
  204.     tödlich. Versuchen Sie es mit einem einen kürzeren Bus (1 - 2 m), wozu
  205.     der Decoder notfalls auch zunächst von der Videoquelle getrennt werden
  206.     kann: Die Busfunktion läßt sich auch prüfen, während der Decoder kein
  207.     Videosignal empfängt.
  208.  
  209. TV: So, der I²C-Bus ist also OK? In diesem Feld erfahren Sie dann, ob der
  210.     Decoder an Pin 8 ein einwandfreies Videosignal empfängt ("ja"/"nein").
  211.     Ziemlich narrensicher, das vom SAA 5246 verwendete Kriterium dürfte das
  212.     regelmäßige Eintreffen von Bild- und Zeilensynchronisations-Impulsen
  213.     sein. Diese und die folgende Information stammen übrigens aus dem
  214.     Statusregister R11B des SAA 5246. Beim Vorgängermodell SAA 5243 (aus
  215.     welchem Fernseher haben Sie *das* uralte Ding denn ausgeschlachtet ???)
  216.     ist dies Register nicht vorhanden, so daß in beiden Feldern "Unfug"
  217.     stehen dürfte, d. h. zwar ja oder nein, aber ohne jede Aussage über die
  218.     tatsächliche Signalqualität.
  219.  
  220. VT: Wenn der Decoder meint, ein Videotext-Signal zu empfangen, steht hier
  221.     ein "ja". Wenn die Anzeige "nein" lautet oder flackert, fehlt das
  222.     VT-Signal oder ist stark verrauscht. Mögliche Ursachen: Kein Sender
  223.     eingestellt, Sender strahlt keinen Videotext aus (z. B. Pro 7) oder
  224.     die Empfangsqualität ist schlecht. In letzterem Fall muß das Bild noch
  225.     nicht einmal sichtbare Mängel aufweisen. Die Datenrate des Videotext-
  226.     Signals ist mit ca. 7 MBit/s nämlich höher, als man in den 5 MHz
  227.     Bandbreite, die dem Fernsehbild normalerweise zugestanden werden,
  228.     überhaupt unterbringen kann. So ist z. B. aus Videoaufzeichnungen, auch
  229.     wenn sie noch so einwandfrei aussehen, für gewöhnlich kein Videotext mehr
  230.     decodierbar.
  231.  
  232. VT-Uhrzeit: Hier steht die Uhrzeit, wie sie vom Decoder laufend oben rechts
  233.     in die Seite eingeblendet wird. Prima, um die Armbanduhr danach zu
  234.     stellen, aber auch, um die Qualität des Videotext-Signales etwas
  235.     genauer zu beurteilen.
  236.     Wenn hier im Prinzip die Uhrzeit lesbar ist, aber häufig wirre Zeichen
  237.     vorbeiflackern, ist das Videotext-Signal bereits zu schlecht, um noch
  238.     wirklich von Nutzen zu sein: Wenn überhaupt noch Seiten gefunden werden,
  239.     so fehlen ihnen haufenweise Zeichen oder sogar ganze Zeilen. Die Ursache
  240.     dürfte die Antennenanlage am verwendeten Fernseher sein (konnte ich
  241.     z. B. mit meiner Zimmerantenne erleben), oder (wenn diese über jeden
  242.     Zweifel erhaben ist, z. B. Satellitenantenne oder sogar Kabelanschluß)
  243.     das Videosignal muß einen zu weiten Weg vom Fernseher zum Decoder
  244.     zurücklegen. Wie weit genau man ein Videosignal spazieren führen darf,
  245.     weiß ich nicht, aber bei der üblicherweise verwendeten NF-Leitung
  246.     würde ich 2 - 3 m noch für unbedenklich halten.
  247.  
  248. Sys: Die Amiga-Systemzeit. Hat für diesen Test nichts zu sagen.
  249.  
  250.  
  251.  
  252. 5. Bedienung
  253. ============
  254.  
  255. Alle Kommandos werden über die Tastatur gegeben.
  256.  
  257.  
  258. 5.1 Aufrufe von Sonderfunktionen
  259. --------------------------------
  260.  
  261. Help: Zeigt einen Hilfstext an, in dem alle Tastenbelegungen kurz erklärt
  262.     sind.
  263.  
  264. i: Information über das Seitenangebot. Der Decoder wird auf den Empfang
  265.     von Seite *** programmiert, was zur Folge hat, daß er JEDE gesendete
  266.     Seite einzulesen versucht. Das sind ca. 15 Seiten pro Sekunde, und am
  267.     Fernseher sieht das sehr spektakulär aus (das kann höchstens Commander
  268.     Data lesen :-). Was der Amiga dabei gerade schafft, ist einen Blick
  269.     auf die durchlaufenden Seitennummern zu werfen und alle Nummern, die
  270.     ihm dabei unterkommen, in einer Übersicht darzustellen.
  271.     Gelegentliche Fehler (Quote ca. 1 %) sind unvermeidlich, da nicht
  272.     sichergestellt ist, daß die Seitennummer sich nicht während des
  273.     Lesevorgangs ändert. Wenn hier also Seitennummern gefunden werden, die
  274.     laut Inhaltsverzeichnis gar nicht existieren dürften, hat wahrscheinlich
  275.     das Inhaltsverzeichnis recht. Trotzdem ist die Übersicht ganz
  276.     interessant, z. B. sieht man, in welcher Reihenfolge die Seiten
  277.     einrollen, wie lang ungefähr ein Seitenzyklus dauert, und wo "kahle
  278.     Stellen" unter den möglichen Seitennummern sind (z. B. sind bei ARD/ZDF
  279.     das 700er und das 800er Magazin völlig unbenutzt).
  280.  
  281. Für diese beiden Sonderfunktionen wird übrigens die Seitensuche unterbrochen.
  282. Man sollte sie also nicht aufrufen, um sich gerade die Wartezeiten während
  283. der Seitensuche zu vertreiben.
  284.  
  285.  
  286. 5.2 Umschalten von Betriebsarten
  287. --------------------------------
  288.  
  289. t: Schaltet den Testmodus ein/aus, ausführliche Beschreibung s. o., im
  290.     Abschnitt zur Inbetriebnahme. Wenn man das Programm momentan nicht
  291.     benutzt, aber noch nicht verlassen will, sollte der Testmodus
  292.     ausgeschaltet werden. Nur so kann sich das Programm in den
  293.     Multitasking-freundlichen Wait-Zustand begeben, sonst wird immer noch
  294.     weiter Rechenzeit verbraucht!
  295.  
  296. f: Schaltet zwischen den drei möglichen Formaten für die Ausgabedatei um:
  297.     1. reiner ASCII-Text (für Weiterverarbeitung/Druckerausgabe)
  298.     2. rohes VT-Format (falls Farbe/Grafik erhalten bleiben sollen)
  299.     3. IFF-Bild (nicht so kompakt wie das VT-Format, dafür aber nicht
  300.        mehr auf "VTview" und den "videotext.font" angewiesen)
  301.  
  302. m: Schaltet um zwischen den Dateimodi "Überschreiben" und "Anhängen".
  303.     Wenn "Überschreiben" gewählt ist, erfolgt vor jedem Speichervorgang
  304.     noch eine Sicherheitsabfrage.
  305.     Wenn "Anhängen" gewählt ist, entfällt diese Abfrage, und es wird
  306.     lediglich grob überprüft, ob das Anhängen sinnvoll ist. Das sieht dann
  307.     so aus, daß der Speichervorgang einfach verweigert wird, falls die
  308.     ausgewählte Datei als IFF- oder Programmdatei erkannt wurde. ABER:
  309.     Natürlich gibt es außer 'IFF' und 'Programm' unzählige weitere
  310.     Dateitypen, wie Archive, Icons usw., die es extrem übel nehmen, wenn man
  311.     irgendwelchen Müll an ihr Ende anhängt. All diese kann VIDEOTEXT
  312.     unmöglich erkennen (und soll es auch gar nicht), darum Vorsicht, auch
  313.     beim Anhängen an Dateien!
  314.  
  315. p: Funktioniert die Datei zur Protokolldatei um (und wieder zurück). Dieser
  316.     Modus ist nur sinnvoll, wenn sich gerade eine Untertitelseite in der
  317.     Seitensuche befindet. Jeder neue Inhalt einer solchen Seite wird dann als
  318.     ASCII-Text an die Ausgabedatei angehängt. Dabei werden nur die Zeilen
  319.     ausgegeben, die das Box-Attribut tragen, also der Teil der Seite, der
  320.     am Fernseher als Untertitel eingeblendet würde.
  321.     Genau die Funktion, die früher der Untertitelsammler (UTS) erfüllte,
  322.     nur daß der den Decoder komplett blockierte.
  323.  
  324. F1,F2,F3: Steuern die Bildschirmdarstellung des Videotext-Decoders:
  325.     Vollbild/transparent/aus. Nur von Bedeutung, wenn der SAA 5246 auch mit
  326.     R, G, B und BLNK an den SCART-Eingang eines Fernsehers angeschlossen
  327.     ist.
  328.  
  329.  
  330. 5.3 Seitenanforderung
  331. ---------------------
  332.  
  333. Einfach Seitennummern eintippen (mit Return abschließen), und sie werden
  334. in die Job-Warteschlange eingereiht. Für Korrekturen kann die Backspace-Taste
  335. ("<-") verwendet werden (Vorsicht, nicht mit "Del" verwechseln, s. u.).
  336.  
  337. Wenn die Eingabe gelegentlich stockt, so liegt das daran, daß während des
  338. Einlesens von Seiten keine Tastaturabfrage stattfindet, erkennbar auch am
  339. Mauszeiger, der zur Stoppuhr wird. Das Problem ist seit Version 3.4 mit
  340. der schnelleren Assembler-Busroutine aber erheblich entschärft.
  341.  
  342. Außer einfachen Seitennummern wie 100, 572 und 525 kann man auch einzelne
  343. Unterseitennummern eingeben, z. B. 100/7 und 642/1. Die übliche Anwendung
  344. dieser Unterseiten-Direktwahl ist der Ersatz einzelner Unterseiten, wenn sie
  345. bei der Übertragung beschädigt wurde. Alle anderen Fälle lassen sich
  346. einfacher regeln, indem man die Seite komplett einliest (einfache
  347. Seitennummer eingeben) und die unerwünschten Unterseiten anschließend von
  348. Hand löscht. Es ist insbesondere Verschwendung, mehr als eine Unterseite
  349. ein und derselben Seitennummer einzeln anzufordern! Jede Unterseite
  350. beansprucht dann einen Empfangskreis des VT-Decoders für sich, und von denen
  351. gibt es beim SAA 5246 bekanntlich nur vier.
  352.  
  353. Bearbeiten der Warteschlange:
  354.  
  355. +,-: Bewegen einen >Auswahlzeiger auf eine Seitennummer, wobei es egal ist,
  356.     ob diese sich noch in der Warteschlange befindet oder bereits in die
  357.     Seitensuche aufgerückt ist. Der Auswahlzeiger ist intelligent genug,
  358.     einer Seitennummer zu folgen, anstatt starr auf einen bestimmten Platz
  359.     in der Warteschlange zu zeigen.
  360.  
  361. *: Irrtümlich eingegebene Seitennummern können mit dieser Taste nachträglich
  362.     aus der Warteschlange entfernt werden. <Del> oder <BS> wären für diese
  363.     Funktion vielleicht naheliegender gewesen, aber die hatten bereits andere
  364.     Bedeutungen, und immerhin liegt '*' auf dem Ziffernblock direkt über '+'
  365.     und '-'. Außerdem kann man sich als Eselsbrücke den * als kleine
  366.     Explosion vorstellen ;-)
  367.     Wichtig ist diese Funktion außerdem für Untertitelseiten: ein Job, der
  368.     als Untertitelseite erkannt wurde, kann nämlich nicht mehr automatisch
  369.     aus der Seitensuche rausfliegen, nicht einmal durch Zeitüberschreitung.
  370.     Hier muß der Benutzer selbst eingreifen.
  371.  
  372. u: Ernennt eine Seitennummer zur Untertitelseite bzw. entzieht ihr diesen
  373.     Status wieder. Hm. Hatte ich nicht gerade schon erwähnt, daß das
  374.     Programm selbst erkennen kann, was Untertitelseiten sind und was nicht
  375.     (und zwar an einem Statusflag vom Sender)? Was soll dann diese Option?
  376.     Die automatische Erkennung überstimmen kann sie schonmal nicht: Eine
  377.     Seite verliert nämlich den (vermutlich zu Unrecht zuerkannten)
  378.     Untertitelstatus automatisch wieder, wenn sie zweimal hintereinander
  379.     ohne das entsprechende Statusflag eintrifft.
  380.     Nein, der Zweck liegt vielmehr in folgendem: Untertitelseiten sind wie
  381.     erwähnt von der Überprüfung auf Zeitüberschreitung befreit, so daß
  382.     sie auch während längerer Pausen in der VT-Untertitelung nicht aus
  383.     der Seitensuche entfernt werden. Aber angenommen, man fordert die
  384.     Untertitelseite an, noch bevor die untertitelte Sendung beginnt. Die
  385.     Pause bis zum ersten Untertitel kann dann ebenfalls leicht die
  386.     festgesetzte Zeitschranke (typ. 60 - 90 sec.) überschreiten, nur woher
  387.     soll das Programm in dem Fall wissen, daß es auf eine Untertitelseite
  388.     wartet? Aha - indem man es ihm einfach sagt, mit 'u'.
  389.     Funktioniert nur für Seiten, die bereits in der Seitensuche stehen, das
  390.     dürfte aber keine ernsthafte Einschränkung sein.
  391.  
  392. F9: Löscht wie '*' ebenfalls Jobs, nur etwas radikaler, die *gesamte*
  393.     Warteschlange inclusive der Seitensuche wird gelöscht.
  394.  
  395.  
  396. 5.4 Konfigurationsdatei
  397. -----------------------
  398.  
  399. Ist Ihnen vielleicht schonmal aufgefallen, daß Sie manche Seitennumern
  400. häufiger eintippen als andere? Z. B. die Seiten 112, 113, 114, 115 mit dem
  401. Nachrichtenüberblick auf ARD/ZDF, die Seite 555 mit dem Tagesspruch auf
  402. West 3? Sie können Tipparbeit sparen, indem Sie eine Konfigurationsdatei mit
  403. Ihren Lieblingsseiten der einzelnen Sender anlegen. Pro Sender können max.
  404. so viele Seiten eingetragen werden, wie auf einmal in die Warteschlange
  405. passen, d. h. momentan 19, nicht übel.
  406.  
  407. Das Dateiformat ist einfach: ASCII-Klartext mit einer Seitennummer pro
  408. Zeile, die Zuordnung zu den Sendern erfolgt durch ein vorangestelltes
  409. Stichwort, das in der Videotext-Kopfzeile des jeweiligen Senders vorkommt
  410. (wird dadurch als Stichwort erkannt, daß es andere Zeichen außer Ziffern und
  411. '/' enthält, also keine Seitennummer sein kann). Leerzeilen sind zur
  412. besseren Lesbarkeit der Datei zugelassen, tragen aber keine Bedeutung.
  413. Beispiel für eine Konfigurationsdatei:
  414.  
  415. ARD/ZDF
  416. 100
  417. 250
  418. 252
  419. 253
  420. 525/1
  421.  
  422. SAT.1
  423. 500
  424. 540
  425. 543
  426.  
  427. MTV
  428. 102
  429. 103
  430. 110
  431. 112
  432.  
  433. Die Konfigurationsdatei wird unter dem Namen "VT.config" gesucht, zunächst
  434. im aktuellen Verzeichnis, und wenn sie dort nicht ist, anschließend in S:.
  435.  
  436. Fehlt nur noch das wichtigste: Mit F10 wird die Konfiguration aufgerufen.
  437. Dabei ist es ganz ratsam, die Warteschlange zuvor mit F9 zu löschen,
  438. evtl. auch mit F8 den Seitenspeicher.
  439.  
  440.  
  441. 5.5 Die eingelesenen Seiten
  442. ---------------------------
  443.  
  444. Die Nummern der eingelesenen Seiten sind sortiert spaltenweise in einer
  445. Übersichtstabelle dargestellt. Diese Tabelle kann man durchblättern, sie
  446. wird gescrollt, wenn sie nicht vollständig auf den Bildschirm paßt.
  447. Die hier ausgewählte Seite wird angezeigt, sie kann auch abgespeichert oder
  448. gelöscht werden.
  449.  
  450. Crsr ^/v: Eine Seitennummer vorwärts/rückwärts.
  451.  
  452. SHIFT-Crsr ^/v: Ein Magazin (100er-Gruppe) vorwärts/rückwärts. Es wird die
  453.     niedrigste Nummer im nächsthöheren/-niedrigeren Magazin angesteuert.
  454.  
  455. Crsr <->: Eine Spalte vorwärts/-rückwärts springen.
  456.  
  457. ?: "Rätseltaste", in der momentan angezeigten Seite werden die verdeckten
  458.     Zeichen aufgedeckt.
  459.  
  460. Space: Die verdeckten Zeichen wieder tarnen. Auch verwendbar, um einen
  461.     Refresh zu erzwingen (z. B. nach Löschen einer Seite, oder wenn man
  462.     einen Seitenaufbau durch Eintippen eines Jobs unterbrochen hat, etc.).
  463.  
  464. Del: Die angezeigte Seite wird aus dem Speicher gelöscht. Damit man auch
  465.     merkt, was man gerade getan hat, wird nicht nur ihre Nummer aus der
  466.     Tabelle entfernt, sondern auch eine leere Bildschirseite ausgegeben.
  467.  
  468. F8: *Alle* im Speicher befindlichen Seiten werden gelöscht. Zum Glück
  469.     gibt es aber zuvor noch eine Sicherheitsabfrage.
  470.  
  471. s: Die angezeigte Seite speichern, je nach eingestelltem Format als ASCII,
  472.     VT oder IFF, s. o. Funktioniert nicht, während die Datei als
  473.     UT-Protokolldatei arbeitet.
  474.  
  475. n: Neuen Dateinamen festlegen, hierzu erscheint ein Filerequester. Falls
  476.     die req.library nicht vorhanden ist, müssen Sie stattdessen einen Namen
  477.     einfach so eintippen :-(.
  478.  
  479.  
  480. 5.6 Programmende
  481. ----------------
  482.  
  483. Tippen Sie "x", und nach einer Sicherheitsabfrage, die Sie mit "j"
  484. beantworten, wird das Programm beendet. Alternative: das Pulldown-Menue
  485. mit dem Menuepunkt "Quit" (ein Stückchen Intuition-Oberfläche muß
  486. schließlich sein!), wobei die Sicherheitsabfrage allerdings entfällt.
  487.  
  488.  
  489.  
  490. 6. Argumente beim Programmstart
  491. ===============================
  492.  
  493. VIDEOTEXT unterstützt CLI-Parameter und Workbench-ToolTypes. Zunächst die
  494. ToolTypes:
  495.  
  496.     FILE=<name>   Namen der Ausgabedatei festlegen. (Kann vom Programm aus
  497.             jederzeit über Filerequester geändert werden.)
  498.             Beispiel: FILE=RAM:VTdatei
  499.  
  500.     MAXWAIT=<seconds>   Die Zeit, nach der angenommen werden soll, daß
  501.             eine angeforderte Seitennummer nicht existiert. Ein vernünftiger
  502.             Wert sind ca. 60-90 Sekunden.
  503.             Beispiel: MAXWAIT=60
  504.  
  505.     BUSDELAY=<loops>   Das Timing des I²C-Bus ist absolut unkritisch,
  506.             solange 100 kHz Taktrate nicht überschritten werden. Leider ist
  507.             meine IO-Routine, seit sie in Assembler geschrieben ist, schnell
  508.             genug, um diese Taktrate auf Standard-68000er Amigas gerade
  509.             eben zu erreichen, und sie dafür auf allen anderen Modellen
  510.             (A3000, A1200, A4000) gnadenlos zu überschreiten.
  511.             Wenn nun darum Busprobleme auftreten (s. o., Inbetriebnahme),
  512.             können mit BUSDELAY in jedes übertragene Bit kleine Warte-
  513.             schleifen eingebaut werden. Vorgehensweise, um den richtigen
  514.             Wert zu finden:
  515.             - Zunächst eine riesige Zeitschleife bauen, BUSDELAY=500.
  516.               (Das *muß* einfach klappen, z. B. selbst ein 68040, der es
  517.               irgendwie schafft, die Schleife mit 40 MIPS im Cache
  518.               abzuarbeiten, könnte danach höchstens noch 40 kbit/s
  519.               übertragen.) Wenn das nicht hilft, sind die Busprobleme
  520.               ziemlich sicher von der I²C-Hardware verschuldet.
  521.             - Danach beobachten, wieviele Sekunden es dauert, eine Seite
  522.               einzulesen (wie lange wird der Mauszeiger zur Stoppuhr)
  523.             - Berechnen, welcher Wert für <loops> eine Einlesezeit von
  524.               ca. 0.2 Sekunden ergeben müßte. Beispiel: BUSDELAY=500 ergibt
  525.               auf Ihrem Rechner eine Einlesezeit von 6 sec: der korrekte
  526.               Wert wäre dann  500 / 6 * 0.2 = 16.
  527.             Beispiel: BUSDELAY=0
  528.  
  529.     BURST=<tics>
  530.     SHUFFLE=<tics>   Timing-Parameter für die Seiteneinleseroutine, Einheit:
  531.             1/50-Sekunden. Veränderungen hieran brauchen lediglich
  532.             vorgenommen zu werden, wenn öfters unvollständige Seiten
  533.             eingelesen werden, und zwar unvollständig in dem Sinne, daß ein
  534.             paar der *untersten* Zeilen fehlen (d. h. die Seite war zum
  535.             Zeitpunkt des Einlesens in den Amiga noch nicht vollständig im
  536.             Decoder eingetroffen). Andere Fehler, wie mittendrin fehlende
  537.             Zeilen oder Zeichen sind *nicht* mit diesen Parametern
  538.             behebbar!
  539.             Die zwei Parameter werden alternativ verwendet, für zwei
  540.             verschiedene zulässige VT-Ausstrahlungsprotokolle. Dabei scheint
  541.             das Verfahren "serielle Magazinfolge" (BURST) das allgemein
  542.             üblichere zu sein. Das Programm signalisiert diesen Modus, indem
  543.             die Unterseitennummer, die es oben links in jede VT-Seite
  544.             einträgt, in runde Klammern setzt, (0000). "Verschachtelte
  545.             Magazinfolge" (SHUFFLE) trifft man aber auch gelegentlich, z. B.
  546.             beim "Children's Channel", angezeigt wird dieser Modus durch
  547.             spitze Klammern um die Unterseitennummer, <0000>.
  548.             Das Problem, das diese Parameter überhaupt nötig macht, ist
  549.             folgendes: Eine Videotextseite besteht bei der Übertragung aus
  550.             einer Kopfzeile und einigen (normalerweise 23) Folgezeilen. Das
  551.             Eintreffen der Kopfzeile wird in einem auslesbarem Flag im
  552.             Decoder gemeldet, nicht aber das *Ende* einer Seitenübertragung.
  553.             Also muß man einfach blind eine Zeit lang warten, und hoffen,
  554.             daß die Seite anschließend komplett ist.
  555.             Die gute Nachricht: im Burst-Modus ist die Seitenübertragung
  556.             so schnell, daß man normalerweise überhaupt nicht warten muß
  557.             (BURST=0), der leere Seitenspeicher wird nämlich ungefähr gleich
  558.             schnell, eher sogar etwas schneller aufgefüllt, als er über den
  559.             I²C-Bus überhaupt ausgelesen werden kann. Die schlechte
  560.             Nachricht: der magazinverschachtelte Modus braucht ca. 8mal so
  561.             lange für die Übertragung einer Seite. Zwar werden hier
  562.             wie auch beim magazinseriellen Modus typischerweise ca. 13
  563.             Seiten/sec. übertragen, aber die Zeilen aus bis zu 8
  564.             verschiedenen Seiten (aus den 8 Magazinen) dürfen ineinander
  565.             verzahnt gesendet werden. Kurzum: hier ist garantiert eine
  566.             Wartezeit nötig, größenordnungsmäßig eine halbe Sekunde
  567.             (SHUFFLE=25).
  568.             Vorsicht: stellen Sie keine unnötig langen Wartezeiten ein,
  569.             weniger als 1 Sekunde (d. h. <50) müßte immer genügen. Sonst kann
  570.             es passieren, daß bis zum Beginn des Einlesens bereits ein neuer
  571.             Seiteninhalt eintrifft, äußerst häßliche Situation.
  572.             Beispiel: BURST=0
  573.                       SHUFFLE=30
  574.  
  575. Hier nun die entsprechenden CLI-Parameter:
  576.  
  577.     -f=<name>   Name der Ausgabedatei (das "=" ist optional)
  578.             Beispiel: -f=RAM:VTdump
  579.  
  580.     -w<seconds>   maximale Wartezeit für gesuchte Seiten
  581.             Beispiel: -w60
  582.  
  583.     -d<loops>   Verzögerung der Busroutine
  584.             Beispiel: -d0
  585.  
  586.     -b<tics>
  587.     -s<tics>   Pause zwischen Eintreffen einer Kopfzeile und Beginn des
  588.             Einlesens der Seite, bei Sendern im burst- bzw. shuffle-Modus
  589.             Beispiel: -b0 -s20
  590.  
  591. und zusätzlich, nur vom CLI aus:
  592.  
  593.     <page> <page> ...   Alle Argumente, die nicht mit "-" beginnen, werden
  594.             als Seitenanforderungen interpretiert und, sofern sie eine
  595.             gültige Seitennummer darstellen, in die Warteschlange eingereiht.
  596.             Beispiel: 100/1 112 113 114 115
  597.  
  598.  
  599.  
  600. 7. Dienstprogramm VTview
  601. ========================
  602.  
  603. "VTview" liest von "VideoText" im VT-Format erzeugte Dateien und dient dem
  604. Betrachten der darin enthaltenen Videotext-Seiten. Es benötigt dazu (wie
  605. "VideoText" selbst) den Font "videotext/9". Die Seiten werden diesmal auf
  606. einem LoRes-Bildschirm (und nicht MedRes) dargestellt, was der Wirkung
  607. nach eher dem original Fernseh-Videotext entspricht.
  608.  
  609. Es können beliebig viele Eingabedateien übergeben werden, entweder von der
  610. Workbench aus durch Extended Select bzw. über Default Tool, oder in Form
  611. von CLI-Parametern. Die Dateien müssen mit dem Schlüsselwort "VTPG" beginnen,
  612. unterliegen ansonsten aber keinen besonders strengen Formatanforderungen.
  613. Z. B. können sie VT- und ASCII-Format gemischt enthalten (auch wenn das nicht
  614. viel Sinn macht), es werden dann halt soviele VT-Seiten ausgelesen, wie
  615. identifiziert werden können (Schlüsselstring für VT-Seiten: "VTPG\n"). Die
  616. Seiten werden intern zu einer einzigen Liste zusammengesetzt, wobei aber im
  617. Gegensatz zum Hauptprogramm keine Sortierung vorgenommen wird, und
  618. Seitennummern dürfen auch doppelt vorkommen.
  619.  
  620. Über ToolTypes oder CLI-Parameter können noch diverse Einstellungen
  621. vorgenommen werden. Zunächst die CLI-Parameter:
  622.  
  623.  -a[uto]: Normalerweise blättert man die Seiten von Hand durch (Crsr ^/v:
  624.     seitenweise, Shift-Crsr ^/v: magazinweise), mit diesem Flag wird dagegen
  625.     eine Art Diashow aktiviert, die alle eingelesenen Seiten nacheinander
  626.     anzeigt. Durch beliebigen Tastendruck wird die Kontrolle aber an den
  627.     Benutzer zurückgegeben, ESC beendet das Programm ganz.
  628.  
  629.  -c[ycle]: Normalerweise endet VTview, wenn im Diashow-Modus das Ende der
  630.     Seitenliste erreicht wird. Mit diesem Flag erzwingt man dagegen eine
  631.     Endlos-Schleife. Wie die gewöhnliche Diashow endet auch diese Schleife
  632.     auf Tastendruck hin.
  633.  
  634.  -r[eveal]: Wie im VideoText-Programm können verdeckte Zeichen mit '?'
  635.     aufgedeckt und mit ' ' wieder verdeckt werden. Bei Diashows nutzt das
  636.     natürlich nicht viel, darum kann mit diesem Flag die Anzeige des
  637.     verdeckten Textes global, für alle Seiten, erzwungen werden.
  638.  
  639.  -t<secs>: Gibt an, wieviele Sekunden jede Seite in Diashows angezeigt
  640.     bleibt. Default-Wert ist 2.
  641.  
  642. Noch schnell ein Beispiel:
  643.  
  644.     VTview ARD-ZDF TNT -c -t3
  645.  
  646. Bei den korrespondierenden ToolTypes ist noch zu beachten, daß man zu jedem
  647. beteiligtem Icon, also zu jeder Seitendatei und sogar zu VTview selbst,
  648. ToolTypes angeben kann. Welche gelten dann?
  649. Regel: Es werden zuerst die ToolTypes von VTview selbst ausgewertet, danach
  650. die ToolTypes der Dateien, in der Reihenfolge, wie sie angeklickt wurden.
  651. Die später ausgewerteten überstimmen dabei die vorangehenden. Damit das
  652. auch für alle Optionen möglich ist, existieren zu jedem Flag mindestens
  653. zwei Alternativen:
  654.  
  655.     MODE=MAN|AUTO|CYCLE
  656.     FLAGS=REVEAL|CONCEAL
  657.     TIMING=<secs>
  658.  
  659. Beispiel für einen sinnvollen Eintrag:
  660.  
  661.     MODE=AUTO
  662.     FLAGS=CONCEAL
  663.     TIMING=3
  664.  
  665.  
  666.  
  667. 8. Benutzungsbedingungen
  668. ========================
  669.  
  670. VIDEOTEXT ist Freeware, das heißt, es darf beliebig kopiert und weitergegeben
  671. werden, solange die zugehörigen Dateien
  672.  
  673.     VideoText
  674.     VideoText.info
  675.     VTview
  676.     VTview.info
  677.     videotext.font
  678.     videotext/9
  679.     LiesMich
  680.     Hardware.doc
  681.     Versionen.doc
  682.  
  683. unverändert beieinander bleiben.
  684.  
  685. Ansonsten, würde ich mich über Meinungen und Anregungen zum Programm freuen.
  686. Schreiben Sie mir,
  687.  
  688. - wenn Sie Fehler gefunden haben, z. B. daß das Programm unter Kickstart 1.3
  689.   gar nicht wirklich funktioniert,
  690. - was Sie von meinen weiteren Plänen für VIDEOTEXT halten (siehe Textdatei
  691.   "Versionen.doc"),
  692. - was Sie tun mußten, um das Programm auf Ihrem xx MHZ/680x0-Amiga zum Laufen
  693.   zu bringen,
  694. - was sich an der Dokumentation verbessern läßt,
  695. - welche vergleichbaren Videotext-Programme es gibt und was diese können
  696.   ("TeleText" von Jan Leuverink kenne ich schon, sonst keine),
  697. - welche Varianten von I²C-Bus-Interfaces am Amiga es gibt (und wie man sie
  698.   ansteuert?),
  699. - oder einfach, daß ich ein schönes Programm geschrieben habe :-)
  700.  
  701. Meine Adresse:
  702.  
  703.     Wilhelm Nöker
  704.     Hertastr. 8
  705.     D-44388 Dortmund
  706.  
  707. Auch kleine Spenden (d. h. <DM 20), um einem armen Studenten bei der
  708. Finanzierung eines CD-ROMs zu helfen, sind stets willkommen. (Vergessen
  709. Sie diese Bemerkung ab ca. Mitte 1995, da ich dann wahrscheinlich eigenes
  710. Geld verdiene.)
  711.  
  712.  
  713. 8.1 Der Quelltext
  714. -----------------
  715.  
  716. VideoText ist für die neuen 2.0-Includefiles von KICK-Pascal geschrieben.
  717. Zwar benutzt es keine OS2-Funktionen, es mit den alten Includefiles zu
  718. kompilieren (die von Jens Gelhar selbst, nicht von Roger Fischlin), dürfte
  719. trotzdem schwerfallen. Ein Beispiel nur: ich rufe Funktionen aus der
  720. "misc.resource" auf. In den alten Includefiles ist die "misc.resource" aber
  721. noch gar keine Library, sondern besteht nur aus ein paar Konstanten-
  722. Definitionen.
  723.  
  724. Wenn Sie Änderungen am Programm vornehmen, auch wenn Sie diese für von
  725. allgemeinem Interesse halten, bitte geben Sie keine derart gepatchten
  726. Versionen weiter. Es reicht, wenn einer an VideoText arbeitet (nämlich ich),
  727. weil es dann wenigstens immer eine eindeutig neuste Version gibt. Schreiben
  728. Sie mir also, und ich werde Ihre Änderungen (zugegeben: vielleicht) in die
  729. nächste Hauptversion einbauen. Falls Ihnen daß zu umständlich ist, machen
  730. Sie Ihre Version wenigstens deutlich als gepatcht erkennbar, bevor Sie sie
  731. weitergeben!
  732.  
  733. Noch kurz zur Modularisierung des Projekts, d. h. zur Hierarchie der Units,
  734. und was ich mir dabei gedacht habe:
  735.  
  736.           global     i2c_serial
  737.          /  |   \   /        |
  738.  pagelist decode cct   sys   |
  739.       \    |  |   |    | |   |
  740.        \   |  bildschirm |   |
  741.         \   X___     ___/    |
  742.         jobs    datei        |
  743.           \____       ______/
  744.                startup
  745.  
  746.         HAUPTPROGRAMM VIDEOTEXT
  747.  
  748. Das gräßlichste am Compilieren sind immer die Include-Dateien. Bei der
  749. Modularisierung habe ich darum angestrebt, die Systemaufrufe in möglichst
  750. wenige Units zu konzentrieren: Lediglich "sys", "i2c_serial" und "startup"
  751. enthalten Includefiles. Alle anderen Units compilieren sich blitzschnell!
  752.  
  753. Aber Vorsicht. Wenn man am INTERFACE-Teil (nicht der IMPLEMENTATION) eines
  754. Units etwas ändert, müssen alle davon abhängigen Units neu compiliert
  755. werden (keine Sorge, der Compiler meldet das schon). Z. B. bei einer Änderung
  756. im Interface von "global" alle (!) außer "sys" und "i2c_serial"! Dies
  757. Diagramm hilft dann wenigstens, eine sinnvolle Reihenfolge des ganzen
  758. Neucompilierens zu finden (z. B. global, pagelist, decode, cct, bildschirm,
  759. datei, jobs, startup).
  760.  
  761. Wer so ein komplettes Neucompilieren des gesamten Projektes einmal mitgemacht
  762. hat, wird wahrscheinlich wünschen, daß es doch bitte, BITTE nicht ganz so
  763. viele Units wären? Nun ja, "bildschirm" und "datei" ließen sich vielleicht
  764. noch zu "ausgabe" zusammenfassen, obwohl das schon ein ziemlich riesiges
  765. Unit würde. Nur "decode" dann auch noch in "ausgabe" zu integrieren, wäre
  766. endgültig nicht mehr so toll, da "decode" als eigenständiges Unit wertvoller
  767. ist (nämlich wiederverwendbar für VTview). Das gleiche Argument spricht auch
  768. dagegen, etwa "pagelist" in "jobs" zu integrieren.
  769.  
  770.